using System;
using System.Runtime.InteropServices;

namespace RegisterShellExtensions
{
	[ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), GuidAttribute("0000010e-0000-0000-C000-000000000046")]
	public interface IDataObject
	{
		[PreserveSig()]
		int GetData(ref FORMATETC a, ref STGMEDIUM b);
		[PreserveSig()]
		void GetDataHere(int a, ref STGMEDIUM b);
		[PreserveSig()]
		int QueryGetData(int a);
		[PreserveSig()]
		int GetCanonicalFormatEtc(int a, ref int b);
		[PreserveSig()]
		int SetData(int a, int b, int c);
		[PreserveSig()]
		int EnumFormatEtc(uint a, ref Object b);
		[PreserveSig()]
		int DAdvise(int a, uint b, Object c, ref uint d);
		[PreserveSig()]
		int DUnadvise(uint a);
		[PreserveSig()]
		int EnumDAdvise(ref Object a);
	}
}